
local was动画 = class()


function was动画:初始化(文件)
    self.was = require("XY/SP")(文件)
    self.方向 = {}

    local n,t = 0,self.was.帧数
    local 精灵 = require("gge精灵类")()
    for i=1,self.was.方向数 do
        local ani = require("gge动画类")()
        ani.帧位置 = n-1
        ani.未载入 = self.was.帧数
        repeat
            ani:添加帧(精灵)
            n=n+1
        until n==t
        self.方向[i]=ani:置模式('向前播放')
        t=t+self.was.帧数
    end
    self.当前动画 = self.方向[1]
    self.当前动画:播放(true)
end

function was动画:更新(dt,x,y)
    self.当前动画:更新(dt)

    if self.当前动画.未载入>0 then
        local 精灵 = self.当前动画:获取帧()
        if not 精灵:取纹理():是否有效() then
            local t = self.was:取纹理(self.当前动画.帧位置+self.当前动画:取当前帧())
            精灵:置纹理(t.T)
                :置中心(t.X,t.Y)
            self.当前动画.未载入 = self.当前动画.未载入-1
        end
    end

    if self.当前动画:取像素(x,y)>0 then
        self.当前动画:置高亮(0xFFFFFFFF)
    else
        self.当前动画:置高亮(0)
    end
end


function was动画:显示(x,y)
    self.当前动画:显示(x,y)
    self.当前动画:取包围盒():显示()
end


return was动画